package com.water_work_form.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.water_work_form.entity.RecordOrganoleptic;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.IOException;
import java.util.Map;

/**
 * <p>
 * 记录——感官性状指标原始记录 服务类
 * </p>
 *
 * @author xuke
 * @since 2023-09-14
 */
public interface RecordOrganolepticService extends IService<RecordOrganoleptic> {

    /**
     * 记录——感官性状指标原始记录 项目查询（三个查询项+分页+排序）
     * @param checkUser 检测人（check_user_name） 若为空则不进行此项查询，否则进行模糊查询
     * @param reviewUser 审核人（review_user_name） 若为空则不进行此项查询，否则进行模糊查询
     * @param status 项目状态（status） 若为空则不进行此项查询，否则返回对应项
     * @param current 分页查询 当前页数
     * @param size 分页查询 每页最大数据量
     * @return 返回相应数据 按照状态（status）升序排序
     */
    IPage<RecordOrganoleptic> selectRecordOrganoleptic(String checkUser, String reviewUser, String status, Integer current, Integer size);

    /**
     * 记录——感官性状指标原始记录 基础表数据查询
     * @param name form表name
     * @param restrictionName6 restriction表name
     * @param restrictionName7 restriction表name
     * @param restrictionName8 restriction表name
     * @param restrictionName9 restriction表name
     * @param restrictionName10 restriction表name
     * @param restrictionName11 restriction表name
     * @param drugName drug表name
     * @return 返回对应数据（除restriction表后编号对应查询项对应编号外，其余表键名为表名）
     */
    Map<String,Object> selectBasicOrganoleptic(String name, String restrictionName6, String restrictionName7, String restrictionName8, String restrictionName9, String restrictionName10,
                                               String restrictionName11, String drugName);

    void downloadRecordOrganoleptic(RecordOrganoleptic recordOrganoleptic) throws IOException;
}
